'''
Created on 21 nov. 2014

@author: Damien Torond et Geoffrey Sentost
Module Service
'''

import datetime
from modele import Voiture

'''
import du module datetime.
import du module voiture depuis modele.
'''

class Service:
    
    '''
    La classe Service permet de modeliser les differents services du parking : la maintenance
    la livraison et l'entretien.
    '''    
    
    def __init__(self,dateDemande, dateService,rapport):
        '''
        Constructeur de la classe Service.
        Attributs:
            - dateDemande de type date, correspond a la date de commencement du service.
            - dateService de type date, correspond a la date ou il faut effectuer le service.
            - rapport de type string, effectue le rapport de service avec l'immatriculation de 
            la voiture.
        
        '''
        self.dateDemande = dateDemande
        self.dateService = dateService
        self.rapport = rapport
        
    
    
    def effectuerMaintenance(self,v):
        '''
        Methode : permet d'effectuer une maintenance et faire le rapport. Pendant ce temps la 
        voiture n'est plus dans le parking.
        '''
        self.Service.dateService = datetime.date()
        self.rapport = "rapport effectue le" + self.dateService + "- maintenance effectue sur :" + v.getImmatriculation()
        v.estDansParking = False
        
    
    def effectuerEntretien(self,v):
        '''
        Methode : permet d'effectuer un entretien et faire le rapport. Pendant ce temps la voiture.
        n'est plus dans le parking.
        '''
        self.Service.dateService = datetime.date()
        self.rapport = "rapport effectue le" + self.dateService + "- entretien effectue sur :" + v.getImmatriculation()
        v.estDansParking = False
        
    
    def getRapport(self):
        '''
        Methode : accesseur de l'attribut rapport qui retourne celui-ci.
        '''
        return self.rapport
        
        